<?php

require_once '../db/Conexion.php';

//gestiona la accion solicitada 
function accion_controller() {
    $accion = FALSE;
    $persona_peticion = helper_data();
    $accion = $persona_peticion['accion'];
    if ($accion) {
        switch ($accion) {
            case 'save' :
                guardar($persona_peticion);
                break;
            case 'delete' :
                eliminar($persona_peticion['id']);
                break;
            case 'list' :
                listar();
                break;
            case 'changePass' :
                cambiarSenha();
                break;
            case 'edit' :
                editar($persona_peticion['id']);
                break;
            case 'editPrivilegio' :
                editarPrivilegio($persona_peticion['id']);
                break;
            case 'savePrivilegios' :
                guardarPrivilegio($persona_peticion);
                break;
        }
    } else {
        die("Error: No se recibieron los parametros correspondientes.");
    }
}

//OBTIENE LOS DATOS DE POST
function helper_data() {
    $persona = array();

    if (isset($_POST['id']))
        $persona['id'] = $_POST['id'];
    if (isset($_POST['apenom']))
        $persona['apenom'] = strtoupper($_POST['apenom']);
    if (isset($_POST['ciudad_id']))
        $persona['ciudad_id'] = strtoupper($_POST['ciudad_id']);
    if (isset($_POST['documento']))
        $persona['documento'] = $_POST['documento'];
    if (isset($_POST['telefono']))
        $persona['telefono'] = $_POST['telefono'];
    if (isset($_POST['email']))
        $persona['email'] = $_POST['email'];
    if (isset($_POST['twitter']))
        $persona['twitter'] = $_POST['twitter'];
    if (isset($_POST['fecha_nacimiento']))
        $persona['fecha_nacimiento'] = $_POST['fecha_nacimiento'];
    if (isset($_POST['direccion']))
        $persona['direccion'] = strtoupper($_POST['direccion']);
    if (isset($_POST['clasificacion_id']))
        $persona['clasificacion_id'] = $_POST['clasificacion_id'];
    if (isset($_POST['inactivo']))
        $persona['inactivo'] = $_POST['inactivo'];
    if (isset($_POST['usuario']))
        $persona['usuario'] = $_POST['usuario'];
    if (isset($_POST['genero']))
        $persona['genero'] = $_POST['genero'];

    $persona['ingreso_sistema'] = 0;
    if (isset($_POST['ingreso_sistema']))
        $persona['ingreso_sistema'] = 1;
    $persona['ingreso_poker_inscripciones'] = 0;
    if (isset($_POST['ingreso_poker_inscripciones']))
        $persona['ingreso_poker_inscripciones'] = 1;
    $persona['ingreso_poker_supervision'] = 0;
    if (isset($_POST['ingreso_poker_supervision']))
        $persona['ingreso_poker_supervision'] = 1;
    $persona['ingreso_poker_eventos'] = 0;
    if (isset($_POST['ingreso_poker_eventos']))
        $persona['ingreso_poker_eventos'] = 1;

    if (isset($_POST['pass']))
        $persona['pass'] = $_POST['pass'];
    if (isset($_POST['sys_admin']))
        $persona['sys_admin'] = $_POST['sys_admin'];

    if (isset($_POST['accion']))
        $persona['accion'] = $_POST['accion'];

    return $persona;
}

//LISTADO
function listar() {
    $clasificaciones = consultar("SELECT id, nombre FROM clasificaciones ");
    $ciudades = consultar("Select c.id,CONCAT(c.nombre ,' - ', p.nombre) as nombre FROM ciudades  as c , paises as p WHERE p.id=c.pais_id ");
    $personas = consultar("SELECT id, apenom, documento, telefono, inactivo FROM personas ");
    require_once '../view/persona/ListaPersonas.php';
}

//GUARDAR
function guardar($persona_peticion) {
    //Verifica si existe el numero de documento
//    $resul = consultar("SELECT id FROM personas WHERE documento ='" . $persona_peticion['documento'] . "' AND id != " . $persona_peticion['id']);
//    if ($resul) {
//        die("Error: Ya existe una Persona con el mismo Número de Documento!");
//    }

    if (!$persona_peticion['id']) {
        $query = "INSERT INTO personas ( clasificacion_id,ciudad_id, documento, apenom, telefono, direccion, fecha_nacimiento, email, twitter, genero ,inactivo) 
                VALUES ( " . $persona_peticion['clasificacion_id'] . ",
                         " . $persona_peticion['ciudad_id'] . ",
                        '" . $persona_peticion['documento'] . "',
                        '" . $persona_peticion['apenom'] . "',
                        '" . $persona_peticion['telefono'] . "',
                        '" . $persona_peticion['direccion'] . "',
                        '" . $persona_peticion['fecha_nacimiento'] . "', 
                        '" . $persona_peticion['email'] . "',
                        '" . $persona_peticion['twitter'] . "',
                        '" . $persona_peticion['genero'] . "',    
                        '" . $persona_peticion['inactivo'] . "');";
    } else {
        $query = "UPDATE personas SET 
                        clasificacion_id = " . $persona_peticion['clasificacion_id'] . ",
                        ciudad_id = " . $persona_peticion['ciudad_id'] . ",     
                        documento = '" . $persona_peticion['documento'] . "',                         
                        apenom = '" . $persona_peticion['apenom'] . "', 
                        telefono = '" . $persona_peticion['telefono'] . "', 
                        direccion = '" . $persona_peticion['direccion'] . "', 
                        fecha_nacimiento = '" . $persona_peticion['fecha_nacimiento'] . "', 
                        email = '" . $persona_peticion['email'] . "', 
                        twitter = '" . $persona_peticion['twitter'] . "',
                        genero = '" . $persona_peticion['genero'] . "',      
                        inactivo = " . $persona_peticion['inactivo'] . "                         
                       WHERE id = " . $persona_peticion['id'] . " LIMIT 1;";
    }

    if (ejecutar($query)) {

        listar();
    } else {
        die("Error: No se pudo Guardar el Registro!");
    }
}

//GUARDAR
function guardarPrivilegio($persona_peticion) {
    //Verifica si existe el numero de documento
    $resul = consultar("SELECT id FROM personas WHERE usuario ='" . $persona_peticion['usuario'] . "' AND id != " . $persona_peticion['id']);
    if ($resul) {
        die("Error: Ya existe una Persona con el mismo USUARIO!");
    }

    $query = "UPDATE personas SET 
                        ingreso_sistema = " . $persona_peticion['ingreso_sistema'] . ",
                        ingreso_poker_inscripciones = " . $persona_peticion['ingreso_poker_inscripciones'] . ",     
                        ingreso_poker_supervision = " . $persona_peticion['ingreso_poker_supervision'] . ",                         
                        ingreso_poker_eventos = " . $persona_peticion['ingreso_poker_eventos'] . ", 
                        usuario = '" . $persona_peticion['usuario'] . "',     
                        pass = '" . $persona_peticion['pass'] . "'                         
                       WHERE id = " . $persona_peticion['id'] . " LIMIT 1;";


    if (ejecutar($query)) {
//        listar();
    } else {
        die("Error: No se pudo Guardar el Registro!");
    }
}

//ELIMINAR
function eliminar($id) {
    $query = "DELETE FROM personas WHERE id='$id' LIMIT 1;";
    if (ejecutar($query)) {
        listar();
    } else {
        die("Error: No se pudo Eliminar el Registro");
    }
}

//CAMBIO DE CONTRASEÑA
function cambiarSenha() {
    $pass = false;
    $repass = false;
    if (isset($_POST['pass']))
        $pass = $_POST['pass'];
    if (isset($_POST['repass']))
        $repass = $_POST['repass'];

    if (!$pass)
        die("Error: Debe Ingresar una nueva contraseña.");
    if (!$repass)
        die("Error: Debe Re-Ingresar la nueva contraseña.");
    if ($pass != $repass)
        die("Error: Las Contraseñas no coinciden.");
    session_start();
    if (!isset($_SESSION['USER']))
        include '../../logout.php';


    $usuario = $_POST['usuario'];
    $query = "UPDATE personas SET pass ='$pass' WHERE usuario = '" . $_SESSION['USER'] . "' LIMIT 1";
    if (ejecutar($query)) {
        echo "<div   class='alert alert-success'>
                    <button class='close' data-dismiss='alert'/>
                    La contraseña ha sido cambiada correctamente. 
                  </div>";
    } else {
        die("Error: No se pudo modificar la Contraseña.");
    }
}

//EDITAR
function editar($id) {

    session_start();
    $admin = $_SESSION['ADMIN'];

    $ciudades = consultar("Select c.id,CONCAT(c.nombre ,' - ', p.nombre) as nombre FROM ciudades  as c , paises as p WHERE p.id=c.pais_id ");
    $query = "Select * from personas where id=" . $id;
    $persona = consultar($query);
    $queryClasificaciones = "Select * from clasificaciones ";
    $clasificaciones = consultar($queryClasificaciones);
    require_once '../view/persona/FormPersona.php';
}

//EDITAR PRIVILEGIOS
function editarPrivilegio($id) {    
    $query = "Select p.ingreso_sistema,
        p.ingreso_poker_inscripciones,
        p.ingreso_poker_supervision, 
        p.ingreso_poker_eventos, 
        p.usuario, p.pass ,
        p.id
        from personas as p where p.id=" . $id;
    $personaPrivilegio = consultar($query);
    require_once '../view/persona/FormPrivilegio.php';
}

accion_controller();
?>
